package com.distribuida.supertrunfo.facade;

import java.util.ArrayList;

import com.distribuida.servidor.Servidor;
import com.distribuida.supertrunfo.comum.Jogador;
import com.distribuida.supertrunfo.impl.Jogo;


public class SuperTrunfoFacade {
	
	public Jogo getJogoPorID(int id_jogador) throws Exception{
		return Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo());
	}
	
	public int preRegistro(String nome, int id) throws Exception{
		return Servidor.getInstance().preRegistroJogador(nome, id);
	}
	
	public int registro(String nome) throws Exception{
		return Servidor.getInstance().RegistroJogador(nome);
	}
	
	public int removerJogador(int id_jogador) throws Exception{
		return Servidor.getInstance().removerJogador(id_jogador);
	}
	
	public void definirCaracteristica(int id_jogador, String id_caracteristica) throws Exception{
		Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo()).setIdCaracteristica(id_caracteristica);
	}
	
	public void distribuirCartas(int id_jogador) throws Exception{
		Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo()).distribuirCartas();
	}
	
	public void ExecutarRodada(int id_jogador) throws Exception{
		Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo()).turno();
	}
	
	public ArrayList<Jogador> obterVencedores(int id_jogador) throws Exception{
		return Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo()).getVencedor();
	}
	
	public ArrayList<Jogador> getVencedorRodada(int id_jogador) throws Exception{
	    return Servidor.getInstance().getJogoPorId(Servidor.getInstance().buscarJogadorPorID(id_jogador).getId_jogo()).getVencedorRodada();
	}
	
	public int getPontuacao(int id_jogador) throws Exception {
		return Servidor.getInstance().buscarJogadorPorID(id_jogador).getVitorias();
	}
}
